1. Field of the Invention
The present invention relates to a wireless communication system wherein a plurality of wireless stations communicate with one another as in wireless LAN (Local Area Network) or PAN (Personal Area Network), a wireless communication device and a wireless communication method, and a computer program. More particularly, it relates to a wireless communication system, a wireless communication device and a wireless communication method, and a computer program wherein random access is made based on carrier detection by CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance).
Further more particularly, the present invention relates to a wireless communication system, a wireless communication device and a wireless communication method, and a computer program wherein access control is carried out based on CSMA using the RTS/CTS method to maintain communication quality. Further more particularly, it relates to a wireless communication system, a wireless communication device and a wireless communication method, and a computer program wherein a plurality of classes of frames, such as RTS, CTS, DATA, and ACK, are multiplexed and thereby flexible transmitting and receiving procedures are provided and overheads are reduced.
2. Description of the Related Art
The wireless network has received widespread attention as a communication system which relieves users of cable wiring between wire communication devices. With the wireless network, the majority of cables can be omitted in working spaces, such as offices; therefore, communication terminals, such as personal computers (PCs), can be relatively easily relocated. As wireless LAN systems become faster and inexpensive, recently the demand for the wireless network has been significantly increased. In particular, these days, the introduction of personal area network (PAN) has been considered to build a small-scale wireless network among a plurality of pieces of electronic equipment existing in people's surroundings to carry out information communication. For example, different wireless communication systems and wireless communication devices are defined using frequency bands, such as 2.4-GHz band and 5-GHz band, for which licenses from competent authorities are unnecessary.
Typical standards related to wireless network include IEEE (The Institute of Electrical and Electronics Engineers) 802.11 (Refer to Non-Patent Document 1, for example.), HiperLAN/2 (Refer to Non-Patent Document 2 or Non-Patent Document 3, for example.), IEEE802.15.3, and Bluetooth communication. With respect to the IEEE802.11 standard, various wireless transmission methods, such as the IEEE802.11a standard and the IEEE802.11b standard, are present depending on differences in wireless communication method and frequency band used.
To build a local area network using radio engineering, the following method is generally used: one device, designated as “access point” or “coordinator,” that functions as control station is provided in the area. Then the network is formed under the centralized control of the control station.
In wireless networks provided with an access point, an access control method based on bandwidth reservation is in wide use. In this method, when information is transmitted from some communication device, a band required for the information transmission is reserved at the access point. Thus, transmission channels are utilized so that collision with information transmission by other communication devices will be prevented. That is, by providing an access point, synchronous wireless communication, wherein the communication devices within the wireless network synchronize them with one another, is carried out.
However, a problem arises if asynchronous communication is carried out between a transmitting communication device and a receiving communication devices in a wireless communication system provided with an access point: wireless communication must be carried out through the access point without exception, and thus the efficiency of transmission channel utilization is reduced by half.
To cope with this, “ad-hoc communication” in which terminals asynchronously communicate directly with each other has been devised as another method for building a wireless network. In particular, in small-scale wireless networks consisting of a relatively small number of clients located nearby, the ad-hoc communication is believed to be appropriate. In the ad-hoc communication, any terminals can carry out wireless communication directly, or randomly, with each other without use of any specific access point.
In ad-hoc wireless communication systems, a central control station does not exist; therefore, it is suitable for constituting, for example, a home network comprising household electric appliances. The ad-hoc network has the following features, for example: even if one unit becomes faulty or is turned off, routing is automatically changed, and thus the network is less prone to fail; packets are caused to hop a plurality of times between mobile stations, and thereby data can be transmitted a relatively long way with a high data rate maintained. Various cases of ad-hoc system development have been known. (Refer to Non-Patent Document 5, for example.)
For example, the IEEE802.11 wireless LAN systems are provided with ad-hoc mode in which the system autonomously and decentralizedly operates in a peer to peer manner without providing a control station.
With respect to wireless LAN networks in the ad-hoc environment, it is generally known that a problem of hidden terminal occurs. Hidden terminal is a communication station which can be heard by one communication station as the counterpart of communication but cannot be heard by the other when communication is carried out between the specific communication stations. Hidden terminals cannot carry out negotiation between them, and thus transmit operation can collide.
As one of methodologies for solving such a problem of hidden terminal, CSMA/CA according to the RTS/CTS procedure is known.
The CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) is a connecting method wherein multiple access is made based on carrier detection. In wireless communication, it is difficult for a communication device to receive signals by which the device itself transmits information. Therefore, the communication device confirms that there is no information transmission from other communication devices by the CSMA/CA (Collision Avoidance) system, not by the CSMA/CD (Collision Detection) system. Then, the communication device starts its own information transmission, and thereby collision is avoided. The CSMA system is an access method suitable for asynchronous data communication, such as file transfer and electronic mail.
In the RTS/CTS method, the communication station as the origin of data transmission transmits a request to send packet RTS (Request To Send). In response to the reception of a response packet CTS (Clear To Send) from the communication station as the destination of data transmission, the transmitting communication station starts data transmission. When hidden terminals receive either or both of RTS and CTS, they set their own transmission stop period. The transmission stop period is equivalent to a period during which data transmission is expected to be performed based on the RTS/CTS procedure. Thus, collision can be avoided. Hidden terminals for the transmitter station receive CTS and set a transmission stop period to avoid collision with data packets. Hidden terminals for the receiver station receive RTS and stop a transmission period to avoid collision with ACK.
Here, the wireless network will be described with IEEE802.11a, an expansion standard to IEEE802.11, taken as an example.
FIG. 15 illustrates the frame format specified by IEEE802.11a. In the figure, a preamble which indicates the presence of packet is added to the head of each packet. For the preamble, known symbol patterns are defined in the standard. Based on these known patterns, receivers can judge whether a receive signal corresponds to a preamble or not.
Following the preamble, SIGNAL field is defined. In the SIGNAL field, information required for decoding the information portion of the packet concerned is placed. The information required for decoding packets is designated as PLCP header (Physical Layer Convergence Protocol header). The PLCP header includes: RATE field which indicates the transmission rate of an information portion (This includes Service field as part of PLCP header; however, it is hereafter simply and generically referred to as “information portion” for the purpose of simplifying the explanation.); LENGTH field which indicates the length of information portion; parity bit; Tail bit of encoder; and the like. Receivers decode the subsequent information portions based on the result of decoding the RATE and LENGTH fields in the PLCP header.
The SIGNAL portion where the PLCP header is placed is subjected to encoding resistant to noise, and is transmitted at 6 Mbps. In case of normal packets, the information portion is transmitted in a transmission rate mode in which the highest bit rate is provided to the extend that the occurrence of errors is minimized according to the SNR or the like of the receiver.
IEEE802.11a defines eight classes of transmission rate modes: 6, 9, 12, 18, 24, 36, and 54 Mbps, and any of them is selected. If a transmitter/receiver is positioned nearby, a high-bit rate transmission rate mode is selected. A communication station positioned far away cannot decode this information sometimes.
The information portion is transferred as PSDU (Physical Layer Service Data Unit) to the data link layer as the higher level layer. FIG. 16 illustrates the constitution of the PSDU frame field. IEEE802.11 defines several frame types. Here, description will be given only to four types of frames, RTS, CTS, ACK, and DATA, required for describing the present invention.
For each frame, Frame Control field and Duration field are defined in common. The Frame Control field holds information indicating the type and use of the frame concerned, and more specifically, it describes the information listed in Table 1. The Duration field holds information on the use of NAV (Network Allocation Vector) (to be described later), and describes the time that elapses before the transaction of the packet concerned is completed.
TABLE 1Field NameLength [Bit]DescriptionProtocol Version2Version informationType/Subtype6Identifier indicatingthe frame typeToDS, FromDS2Identifier determiningwhat each ADDR indicatesMore Fragment1Flag indicating the last fragmentRetry1Flag indicating whether thisis retransmission or notPower Management1Flag indicating powermanagement modeMore Data1Flag indicating whether moredata has been accumulatedor notWEP1Flag indicating theutilization of WEPOther1
In addition to the foregoing, the Data frame contains: four address fields Addr1 to Addr4 for identifying the communication stations as the origin of transmission and the destination and others; sequence field (SEQ); Frame Body which is the primary information to be provided to the upper level layer; and FCS (Frame Check Sequence) which is a checksum.
In addition to the foregoing, the RTS frame contains: Receiver Address (RA) which indicates the destination; Transmitter Address (TA) which indicates the origin of transmission; and FCS which is a checksum.
In addition to the foregoing, the CTS frame and ACK frame contain RA which indicates the destination and FCS which is a checksum.
Here description will be given to the method for coping with access contention defined in IEEE802.11.
IEEE802.11 defines four types of inter frame spaces (IFS) SIFS (Short IFS), PIFS (PCF IFS), DIFS (DCF IFS), and EIFS (extended IFS) in ascending order.
IEEE802.11 adopts CSMA as a basic media access procedure (described above). Before a transmitter transmits something, the state of the medium is monitored and further a backoff timer is actuated for a random time. The transmitter is provided with transmission right only when there is no a transmit signal during this period, and the transmitter can transmit packets on the medium.
When a normal packet is transmitted according to the CSMA procedure, the DCF (Distributed Coordination Function) operate as follows: after the transmission of a packet of some kind is completed, the state of the medium is monitored only for a DIFS. If there is no transmit signal during this period, random backoff is carried out. If there is no transmit signal during this period, either, then transmission right is provided.
When a packet, such as ACK, whose degree of urgency is exceptionally high is transmitted, it is permitted to transmit the packet after a short inter frame space SIFS. Thus, packets whose degree of urgency is high can be transmitted before packets transmitted according to the normal CSMA procedure.
To sum up, the reason why different types of inter frame spaces IFS are defined is as follows: packets competing for transmission right are given priorities according to whether their IFS is SIFS, PIFS, or DIFS, that is, according to the length of inter frame space.
Next, description will be given to the RTS/CTS procedure in IEEE802.11, referring to FIG. 17 to FIG. 19. With respect to wireless LAN networks in the ad-hoc environment, it is generally known that a problem of hidden terminal occurs. CSMA/CA according to the RTS/CTS procedure is known as one of methodologies for alleviating most of this problem (described above). IEEE802.11 also adopts this methodology.
FIG. 17 schematically illustrates an example of the operation of the RTS/CTS procedure. This figure shows an example in which information (Data) of some kind is transmitted from STA0 to STA1.
Prior to the actual transmission of information, STA0 transmits an RTS (Request To Send) packet to STA1 as the destination of information according to the CSMA procedure. In response to the reception of the RTS packet, STA1 transmits a CTS (Clear To Send) packet to STA0, feeding back that STA1 has successfully received the RTS.
If the transmitting STA0 successfully receives the CTS packet, the medium is considered to be clear, and the transmission of information (Data) packets is immediately started. When STA1 has successfully received the information (Data) packets, STA1 returns an ACK packet. Thus, the transmission and reception transaction equivalent to one packet is completed.
FIG. 18 illustrates action which can take place in surrounding stations when the RTS/CTS procedure is carried out between a transmitter station and a receiver station. In this figure, the following communication environment is assumed: four communication stations, STA2, STA0, STA1, and STA3, exist, and communication stations adjoining to each other in the figure are located within the range of radio waves. Here, it is assumed that STA0 desires to transmit information to STA1.
The transmitting STA0 confirms that the medium is clear for a certain period (from time T0 to time T1) according to the CSMA procedure. Then, STA0 starts the transmission of an RTS packet to STA1 at time T1. In the Type/Subtype field of the Frame Control field of the RTS packet, information which indicates the packet concerned is RTS is described; in the Duration field, the time that lapses before the transmission and reception transaction for the packet concerned is completed (i.e. the time until time T8) is described; in the RA field, the address of the destination communication station (STA1) is described; and in the TA field, the address of the transmitter station (STA0) itself is described.
Here, attention should be paid to the following point: for STA0 to describe in the Duration field the time that lapses before the transaction according to the RTS/CTS procedure is completed, the time when the transaction is completed must be determined when RTS is transmitted. More specific description will be given. The transmitting STA0 must determine all the transmission rate mode, including CTS packet, Data packet, and ACK packet to be subsequently transmitted and received in the transaction in question, when it transmits RTS. The transmission rate mode determined here relates to the entire transaction, and it is not permitted to set an individual transmission rate mode with respect to each packet transmission within a transaction.
FIG. 19 illustrates the procedure according to which the transmitting STA0 determines a transmission rate mode with respect to the entire transaction concerned when it transmits RTS. When RTS is transmitted, it must be determined where the time at which the transaction is completed is (T8 in FIG. 4). Therefore, the transmission rate mode is determined only due to information held by the transmitter station when it transmits RTS (based on the amount of data communicated in the entire transaction, the transmission rate, and the like). The transmission rate of each of the CTS, DATA, and ACK frames thereafter transmitted and received is basically in accordance with the rate applied in the RTS. That is, it is not permitted to set an individual transmission rate mode with respect to each packet transmission within a transaction.
Here, description will be given, referring to FIG. 18 again. The RTS packet is received also by STA2 which is positioned in the vicinity of STA0. When STA2 receives the RTS signal, STA2 discovers the preamble and thus starts receive operation. Further, STA2 decodes PSDU based on the information obtained by decoding the PLCP header. Then, STA2 recognizes from the Frame Control field in the PSDU that the packet in question is RTS packet, and knows that STA0 desires to transmit information of some kind. Further, STA2 recognizes from the RA field that STA2 itself is not the destination communication station. Then, STA2 does not monitor the medium and recognizes that the medium is occupied until the transaction in question is completed, and stops its own transmission so as not to hinder STA0's desire to send. To refer to this operation, it is said that a surrounding station “sets NAV (Network Allocation Vector).” The NAV is effective during the period indicated in the Duration field, and STA2 is kept in transmission prohibited state until time T8.
The RTS packet is received also by STA1 which is the intended destination. STA1 decodes the PSDU according to the same procedure as described above, and thereby recognizes that STA0 desires to transmit packets to STA1 itself. Then, STA1 waits for a SIFS (described above) and returns a CTS packet at time T3.
At this time, the transmission rate mode of the CTS packet must be identical with that of RTS. Further, in the Frame Control field of the PSDU, it is described that the packet concerned is CTS packet; in the Duration field, the time that elapses between the transaction concerned is completed (i.e. time until time T8) is described; and in the RA field, the address of the destination communication station (STA1) is described.
The CTS packet is received also by STA3 which is positioned in the vicinity of STA1 as the destination of transmission. STA1 decodes the PSDU according to the same procedure as described above, and recognizes that “some nearby communication station is expected to receive packets until time T8.” STA3 sets an NAV and refrains from its own transmission until the transaction concerned is completed so as not to hinder STA1's desire to receive. The NAV is effective during the period indicated in the Duration field, and STA3 is also kept in transmission prohibited state until time T8.
The CTS packet is received also by STA0 as the destination. STA0 decodes the PSDU according to the same procedure as described above, and recognizes that STA1 has got ready to receive. Then, STA0 waits for a SIFS, and starts the transmission of Data packet at time T5.
If the transmission of the Data packet is completed at time T6 and STA1 decodes them without any error, STA1 waits for a SIFS and returns ACK at time T7. When STA0 receives it, the transmission and reception transaction equivalent to one packet is completed at time T8.
At time T8, STA2 and STA3 which are nearby communication stations put down the NAV, and return to ordinary transmitting and receiving state.
In summary, in the above-mentioned RTS/CTS procedure, the following surrounding stations are prohibited from carrying out transmission: a “surrounding station for STA0 as the transmitter station,” or STA2, which could receive RTS, and a “surrounding station for STA1 as the receiver station,” or STA3, which could receive CTS. Thus, information transmission from STA0 to STA1 and a return of ACK are carried out without being hindered by a sudden transmit signal from surrounding stations. Therefore, the communication quality is maintained.
FIG. 20 illustrates an example of an operation sequence followed when the above-mentioned packet transmission and reception transaction based on the RTS/CTS procedure in IEEE802.11 is implemented with traffic through TCP/IP (Transmission Control Protocol/Internet Protocol). The TCP/IP is a typical communication protocol for transmission control and path control.
Even if communication is of one way in terms of application, ACK is returned by the TCP layer typically every two segments, and it is brought into the form of asymmetrical two-way communication in the MAC layer. The ACK of the TCP layer is small in amount of data, and thus RTS/CTS is not used together. However, RTS/CTS is used together with respect to data traffic. The figure illustrates such an example.
In the example illustrated in FIG. 20, packets equivalent to 24 times in total are transmitted and received in the MAC layer to transmit five segments, Data0 to Data4. That is, while the operation in the TCP layer is relatively simple, complicated operation is performed in the MAC layer.
As described up to this point, problems of access contention and bandwidth assurance can be solved by implementing the transmitting and receiving procedures based on CSMA in combination with the RTS/CTS method in accordance with IEEE802.11. Meanwhile, several problems described below are left unsolved.
(1) Imperfection of Transmission Rate
When data is transmitted and received according to the RTS/CTS procedure, the transmission rate of data packets must be determined before an RTS packet is transmitted.
This is because, for a transmitter station to describe in the Duration field the time that lapses before a transaction based on the RTS/CTS procedure is completed, the time at which the transaction is completed must be determined when it transmits an RTS. This means that all the transmission rate mode, including CTS packet, Data packet, and ACK packet subsequently transmitted and received in that transaction must be determined when RTS is transmitted. The transmission rate mode determined when RTS is transmitted relates to the entire transaction; it is not permitted to set an individual transmission rate mode with respect to each packet transmission within a transaction. Therefore, the transmission rate is imperfect.
Further, transmitter stations cannot grasp the state of reception in receiver stations in real time. Therefore, determining the transmission rate of the entire transaction when RTS is transmitted results in a lower probability that data packets are transmitted at the optimal transmission rate corresponding to the state of reception in the receiver station.
An example will be taken. Patent Document 1 discloses a method for packet transfer communication. The method is such that, when the receiving end receives an RTS packet, it measures the environment and state of communication at that point of time; then, the receiving end adds the result of the measurement to the CTS packet and returns it to the transmitting end; thereby the transmitting end optimizes the communication rate and the like. However, this case is also nothing but another case where the transmitting end determines the transmission rate of the entire transaction before it transmits an RTS packet. Therefore, the imperfection of transmission rate is not eliminated.
The RTS transmitter station is required to: determine the transmission rate of the entire transaction including CTS packet, Data packet, and ACK packet transmitted and received as the outcome of RTS transmission; determine a value to be written as the transaction finish time, that is, Duration based on a value obtained by dividing the amount of transmitted data by the transmission rate; and describe the determined value in RTS. Patent Document 1 describes that the CTS transmitter station determines a transmission rate through the reception of RTS; however it does not refer to how to obtain the value in the Duration field described in RTS by the RTS transmitter station prior thereto.
If the CTS transmitting station sets a high transmission rate, the transaction is completed ahead of the Duration determined when RTS is transmitted. As a result, the surrounding stations which heard the RTS still keep a NAV set and refrain from their own transmission after the transaction is completed, and this is a waste of bandwidth. If the CTS transmitting station sets a low transmission rate, the transaction is not completed even after the Duration determined when RTS is transmitted has passed. Nevertheless, surrounding stations which heard RTS put down the NAV and start transmit operation, and this induces collision.
(2) Difficulty of Data Unit Multiplexing with RTS/CTS Used Together
In the conventionally known RTS/CTS procedure, the data transmitting end determines a data rate before it transmits an RTS. It does not give consideration to the following: the data receiving end determines a data rate and further transmits a plurality of data units as one data packet. To enhance the efficiency of the MAC layer (Refer to FIG. 20.), it is preferably that the receiving end should be capable of determining a data rate and transmitting a plurality of data units as one data packet. However, the conventional RTS/CTS format cannot implement this.
(3) Concomitant Use of Delay Acknowledgement and RTS/CTS Procedure
The IEEE802.11 standard is premised on the immediate ACK wherein an acknowledgement (ACK) is returned as soon as data is received. To reduce the overhead of ACK packets, delay ACK can be used.
However, some problems arise. For example, if delay ACK is used together with the RTS/CTS procedure, there is a possibility that an RTS is transmitted for the purpose of retransmission before an ACK cannot be returned to the transmitting end. Thus, with the existing format, the concomitant use of delay acknowledgement and the RTS/CTS procedure has its limit in the enhancement of efficiency.
(4) Methodology for Selective Acknowledgement
It is known that carrying out selective acknowledgement enhances the efficiency of the MAC layer. The IEEE802.11 standard does not give consideration to selective acknowledgement itself. The selective acknowledgement referred to here is a retransmission control method. In this method, ACK or NACK information is fed back to the transmitting end with respect to an arbitrary packet which was or was not successfully received. Thereby, retransmission is carried out only with respect to packets which the receiving end could not receive.
Implementation of selective acknowledgement requires massive memory and its processing places a significant burden; therefore, it has not be actually applied so much. However, necessity for selective acknowledgement will be more and more increased in the future. With this being the situation, the following case is expected: communication stations in the initial stage do not have selective acknowledgement implemented but communication stations developed later have selective acknowledgement implemented. In this case, it is unfavorable that both cannot communicate with each other, and a format wherein downward compatibility is maintained is desired.
Further, up to now consideration has not given to concomitant use of selective acknowledgement, a technique for the receiving end to determine a data rate, and the RTS/CTS procedure. Therefore, this cannot be implemented by the existing format.
(5) Influence of Overhead Produced in MAC Layer
The IEEE802.11 standards independently defines RTS frame, CTS frame, ACK frame, and the like. (Refer to FIG. 16.) For this reason, if individual information is to be transmitted, they must be respectively transmitted by separate frames. However, each time a frame is transmitted, overheads, such as preamble, are produced. In particular, if the transmission rate is high, the amount of overheads becomes too large to neglect.
Needless to add, increase in overheads in the MAC layer is undesirable because it contributes in such a direction as to limit the bandwidth which can be provided for the upper level layers, such as TCP/IP.
[Patent Document 1] Japanese Unexamined Patent Publication No. 2000-151639
[Non-Patent Document 1] International Standard ISO/IEC 8802-11: 1999(E) ANSI/IEEE Std 802.11, 1999 Edition, Part11:
Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications
[Non-Patent Document 2] ETSI Standard ETSI TS 101 761-1 V1.3.1 Broadband Radio Access Networks (BRAN); HIPERLAN Type 2; Data Link Control (DLC) Layer; Part1: Basic Data Transport Functions
[Non-Patent Document 3] ETSI TS 101 761-2 V1.3.1 Broadband Radio Access Networks (BRAN); HIPERLAN Type 2; Data Link Control (DLC) Layer; Part2: Radio Link Control (RLC) sublayer
[Non-Patent Document 4] C. K. Tho, “Ad Hoc Mobile Wireless Network” (Prentice Hall PTR)